//#include<bits/stdc++.h>
//using namespace std;
//#define int long long
//int a[1000];
//int b[1000], c[1000], d[1000];
//int randint(int l, int r)
//{
//	return rand() % (r - 1 + l) + 1;
//}
//void qsort(int l, int r)
//{
//	if (l >= r) {
//		return ;
//	}
//	int num = randint(l, r), ind1 = 0, ind2 = 0, ind3 = 0;
//	for (int i = 1; i <= r ; i++) {
//		if (a[i] < a[num]) {
//			b[ind1++] = a[i];
//		} else if (a[i] == a[num]) {
//			c[ind2++] = a[i];
//		} else {
//			d[ind3++] = a[i];
//		}
//		for (int i = 0; i < ind1; i++) {
//			a[i + 1] = b[i];
//		}
//		for (int i = 0; i < ind2; i++) {
//			a[i + ind1 + 1] = c[i];
//		}
//		for (int i = 0; i < ind3; i++) {
//			a[i + ind1 + ind2 + 1] = d[i];
//		}
//	}
//	qsort(1, l + ind1 - 1);
//	qsort(1 + ind1 + ind2, r);
//}
//
//signed main()
//{
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++) {
//		cin >> a[i];
//	}
//	qsort(a, a + n);
//	for (int i = 0; i < n; i++) {
//		cout << a[i] << " ";
//	}
//	return 0;
//}
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin >> n;
	vector<int> a(n,0);
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	sort(a.begin(),a.end());
	for(int i=0;i<n;i++){
		cout << a[i];
		if(i == n-1){
			break;
		}
		cout << " ";
	}
	return 0;
}
